import importlib
from operator import methodcaller

# 反射机制可以让我们在不知道类名的情况下，通过字符串的方式来调用类的方法。


class Foo():

    def __init__(self, name):
        self.name = name

    def run(self, info):
        print("running %s" % info)
        return 1


api_module = importlib.import_module("__main__")
clazz = getattr(api_module, "Foo")
params = ["milk"]
instance = clazz(*params)
task_result = methodcaller('run', 'reflection')(instance)
print(task_result)
